Skip to content

feat: Add catalog-based material presets across structural nodes#231

Merged
open-pascal merged 3 commits intopascalorg:mainfrom
sudhir9297:feat/material-system-update
Apr 15, 2026
Merged

feat: Add catalog-based material presets across structural nodes#231
open-pascal merged 3 commits intopascalorg:mainfrom
sudhir9297:feat/material-system-update

Conversation

@sudhir9297
Copy link
Copy Markdown
Contributor

Added a shared, catalog-based material ( 13 items ) preset system across wall, slab, roof, roof-segment, stair, stair-segment, ceiling, and fence.

Key updates:

  • node-type filtered material picker
  • custom material fallback
  • preset refs stored as library:<id>
  • viewer resolves presets via maps + mapProperties
  • textured materials now supported in the shared flow

Rendering/runtime fixes:

  • async + cached texture loading to prevent rapid-switch crashes
  • correct color-space handling for albedo vs data maps
  • AO support for wall and fence UVs
  • walls/slabs keep their real material instead of blue highlight overrides
  • fixed post-processing fallback so it doesn’t render before WebGPU init

@sudhir9297 sudhir9297 changed the title Add catalog-based material presets across structural nodes feat: Add catalog-based material presets across structural nodes Apr 15, 2026
Copy link
Copy Markdown
Collaborator

@open-pascal open-pascal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rechecked the follow-up commits against the two regressions I called out earlier.

  • The door/window material panel is no longer blank: MaterialPicker now keeps a custom fallback even when there are no catalog items.
  • Visible wall selection/delete highlighting is restored in wall-cutout.tsx, and the highlighted variants now preserve the underlying wall material/preset appearance.

So the two blockers from my earlier review look addressed from my side. One smaller note remains: door/window are effectively custom-only now, instead of exposing the old preset swatches, but that is separate from the blank-state regression I flagged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants